package com.cloud.api.domain.service;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;

@Data
@Schema(description = "站点授权信息")
public class StationAuth implements Serializable {

    @Schema(description = "主键")
    @NotEmpty(message = "{validation.common.id}")
    private String id;

    @Schema(description = "主体地区")
    @NotEmpty(message = "{validation.service.subjectRegion}")
    private String subjectRegion;

    @Schema(description = "主体详细地区")
    @TableField("subject_region_info")
    private String subjectRegionInfo;

    @Schema(description = "授权车型")
    @NotEmpty(message = "{validation.service.authorizedModels}")
    private String authorizedModels;

    @Schema(description = "授权开始日期")
    @NotNull(message = "{validation.service.authorizationStart}")
    private LocalDate authorizationStart;

    @Schema(description = "授权结束日期")
    @NotNull(message = "{validation.service.authorizationEnd}")
    private LocalDate authorizationEnd;

    @Schema(description = "签约日期")
    @NotNull(message = "{validation.service.signDate}")
    private LocalDate signDate;

    @Schema(description = "授权书地址")
    private String authorizationAddress;
}
